#include <iostream>
#include <set>
#include <string>


class Student
{
public:
    Student(int id,const char *name):name(name),id(id){}
    friend bool operator<(const Student& s1,const Student &s2)
    {
        return s1.id < s2.id;
    }
    int id;
    std::string name;
};

int main()
{
    // std::set<int> s;
    // s.insert(1);
    // s.insert(3);
    // s.insert(2);
    // //set容器不能插入相同的数据

    // s.erase(3);
    // for(auto ite = s.begin(); ite != s.end(); ite++)
    // {
    //     std::cout<<*ite<<" ";
    // }
    // std::cout<<std::endl;
    
    // //找到数据返回数据的迭代器,没找到则返回end迭代器
    // auto ite = s.find(3);
    // if(ite == s.end())
    // {
    //     std::cout<<"没找到"<<std::endl;
    // }
    // else
    // {
    //     std::cout<<"找到了"<<std::endl;
    // }
    // return 0;


    std::set<Student> s;
    s.insert(Student(1,"zhangsan"));
    s.insert(Student(3,"lisi"));
    s.insert(Student(2,"wangwu"));
    for(auto ite = s.begin(); ite != s.end(); ite++)
    {
        std::cout<<ite->id<<" "<<ite->name<<std::endl;
    }
}